1. Field of the Invention
This invention generally relates to Graphical User Interfaces for computers and processing systems, and more specifically, the invention relates to a method and apparatus for controlling use of a symbol, such as a cursor, on a Graphical User Interface.
2. Background Art
In a Graphical User Interface (GUI), various images, including icons, windows containing application programs, etc., appear on a display screen. The icons and windows are graphical representations of application programs or utility functions. The user operates the system by moving images on the screen, and by providing input signals to the system, which the system interprets as commands to operate the application programs or utility functions. Commonly, the image, which the user moves about the screen, is a cursor, although the user can also move other types of images around. Persons skilled in the use of GUIs will readily recognize that the cursor must be precisely positioned on the desired icon, application program button, etc., for the input signals to be interpreted as desired. To move the cursor on the screen, the user employs a user interface apparatus which includes a transducer for translating the user's activity, such as hand movements, fingertip pressure, etc., into an input parameter. Various types of devices include such transducers.
A popular device for enabling the user to perform cursor movements and to enter commands is called a mouse. A mouse is a mechanically simple device for producing a signal, responsive to physical displacement of the mouse by the user, which directs the system to move the cursor about the display screen. Generally, a mouse also includes one or more push buttons, which the user pushes in order to enter commands to the system. Responsive to a given movement of the mouse in a given direction, such as over a mouse pad or work surface, the cursor makes a movement in a corresponding direction on the display screen. In the case of a mouse, the input parameter can be a positional movement, i.e. a displacement or translation, or can also include factors relating to mouse velocity, as well as displacement.
A joystick may also be used for cursor movement. A typical joystick, such as that used in video games, is spring-biased in two dimensions to a middle position, corresponding with no cursor movement. Movement of the joystick responsive to user manipulation causes cursor movement. For such joysticks, displacement of the joystick, or a magnitude of force applied against it, serve as the input parameter. In general, the input parameter of a joystick is position, i.e., displacement from a resting position, and the mapping is from joystick position to cursor velocity (or, in some systems, cursor position).
Yet another type of user input device is generically called an isometric joystick. An isometric joystick is implemented as the TrackPoint II pointing device, currently available in the ThinkPad line of laptop computers by IBM Corporation. (TrackPoint II, ThinkPad, and IBM are registered trademarks of International Business Machines Corporation.) ThinkPad laptop computers include TrackPoint II pointing devices, conveniently built into the middle of the keyboard, between the G and H keys. ThinkPad units also include keyboard buttons, analogous to mouse buttons, for entering system commands. A user operates this device by pushing laterally against the top of the device with his/her fingertip. The device does not actually displace, as in the case with a joystick. The input parameter is the force applied by the user, and the force is mapped to cursor movement. The force against the device is sensed, and the cursor movement is made at a rate determined by the transfer function, over the length of time the pressure is applied.
Mice and joysticks have in common the fact that cursor movement is related to an input parameter whose value is determined by user manipulation. In order to use one of these user interface devices effectively and comfortably, the user must develop a hand-eye coordination to efficiently move the cursor where he or she wants it to go. Whether this coordination will be comfortable for the user depends greatly on both the intrinsic feel of the interface device, i.e., the nature of the user manipulation, which produces the input parameter, and the particular transfer function which translates, or maps, the input parameter to actual cursor movement.
The eye and hand strain involved in moving the mouse cursor and focusing it on, for example, a small button on the screen causes an unnecessary amount of work for the user. Even small differences in the user interface (i.e., a few pixels of mouse movement) may have a relatively large effect on the meaning of the user input (i.e., the required button will be pressed or not). This is especially noticeable when one has to do a lot of work that involves pointing and clicking the mouse cursor. One possible solution for this problem is the use of keyboard shortcuts. However, these are application-dependant, require large amounts of memorization, and may be impractical in large programs with many functions. Also, people may have skills and usability limitations that affect their ability to use the pointing device. For example, for some people with restricted hand movement or restricted eyesight, to put mouse pointer into appropriate spot of the windows may be a significant problem.